//匿名函数函数自调用
     // 匿名函数最前面有;
     // 匿名函数有一个实参，两个形参
     ;(function (window, undefined){
        function init(el){
          // 1 获取所有的数据
            let els = document.querySelectorAll(el)
        for(let i=0;i<els.length;i++){

            this[i]= els[i]
        }
        this.length = els.length
        }
        let jQuery = function(el){
               return  new init(el)
        
    }
// 给jq增加一个快捷操作  也就是静态方法  改静态方法可以给init添加原型方法
    jQuery.extend = function(object){
        for(let key in object){
            init.prototype[key] = object[key]
        }
    }

   
    init.prototype={
        css(cssAttr, cssVal){
            // console.log(this);
            // console.log(this[0]);
            // this[0].style.cssAttr = cssVal
            for(let i=0;i<this.length;i++){
                this[i].style[cssAttr] = cssVal
            }
            return this
        }
    }
    window.JQuery = window.$ = jQuery
    })(window)

        let jqObj= new $('div')
        $.extend({
        bg(){}
    })
        console.log(jqObj);

        jqObj.css('color','#fff').css('background','#000')